Location-based information retrieval

ABSTRACT

A collection of data records may be augmented by, for each data record of a plurality of data records, parsing each data record to find an address, converting the address to a geographic location indicator, and associating the geographic location indicator with said data record. These data records may be searched by receiving an indication of a geographic area in order to obtain a set of records with geographic location indicators representing geographic locations within, or partly within, the geographic area.

BACKGROUND

The invention relates to augmenting data records with geographic data and to searching these augmented data records.

On almost every topic, an increasing amount of information is available on the Internet and other networks. As a result, it is not the question of whether the information exists but rather whether it can be found in the abundance of available data. Further, a search often returns too many results so that the issue becomes how to order the search results from more to less relevant. One attribute that often determines the relevance of information is any geographic location associated with the information. Thus, in situations involving travel, or simply in situations where physical proximity is an issue, distance to a point of interest (POI) determines the relevance of the POI. However, if someone interested in finding Italian restaurants on New York's city's East Side entered a search string such as “Italian restaurants New York East Side” to a search engine such as Google™, the search results could include, for example, New York East Side style Italian restaurants in Auckland, New Zealand or Toronto, Canada, and East Side Mario's restaurants all over the North American continent, none of which have any relevance to the search. That is, they are not in the desired location where the user searching for information was intending to have lunch with a business partner. Simply said, a keyword search cannot guarantee a relevant answer.

Traditionally, the majority of advertising was delivered to consumers through a push delivery model: advertising was included in media such as radio or television programming, and consumers were forced to see or hear it regardless of whether it was relevant to them or not. In recent years, advertisers have discovered that many in the population have developed an ability to block out this method of advertising. Further, new technologies have been developed to remove such advertising from the media stream. As a result, the advertising industry is moving from this old push model to new advertising models that are more targeted in order to increase the chance that the information will be relevant to the individual.

In an interactive environment, like the public Internet, advertising started with banner ads. As advertising techniques became more sophisticated, the ads would appear on pages, or with content, that is somehow connected to the subject of the advertisement. The most sophisticated method is “pay per click”, where the advertiser only pays when the user responds to the advertisement and seeks further information.

The value of advertisement to the media industry rises substantially when it can be proven that the advertisement is relevant to the viewer and rises even more when the viewers reaction to the advertisement is trackable.

What is needed is a searching approach which allows users to obtain relevant information. This approach can also allow advertisers to generate relevant advertisements.

SUMMARY

New location based databases and /or data records may be created from one or more existing databases and/or data records. This allows searching such databases in order to provide the most geographically relevant entries found for the benefit of location based services (LBS) and other services where geographic location is of importance.

Thus, in one aspect, the invention involves augmenting a collection of data records by, for each data record of a plurality of data records, parsing each data record to find an address, converting the address to a geographic location indicator, and associating the geographic location indicator with said data record. In another aspect, the invention involves searching such data records by receiving an indication of a geographic area in order to obtain a set of records with geographic location indicators representing geographic locations within, or partly within, the geographic area.

Other features and advantages will be apparent from a review of the drawings in conjunction with the following description.

BRIEF DESCRIPTION OF THE DRAWINGS

In the figures which illustrate example embodiments of the invention,

FIG. 1 is a flow diagram illustrating a manner of geographically tagging a database;

FIG. 2 is a flow diagram illustrating a manner of searching a geographically tagged database; and

FIG. 3 is an example system suitable for use with this invention.

DETAILED DESCRIPTION

People traveling or simply not familiar with a local area often require location specific information. They are often interested in the proximity of attractions, stores, sights, services and other points of interest (POI) relative to their destination. To provide relevant location specific information, a database of POIs may be filtered to yield POIs within a certain distance (radius).

The system can acquire data from one or many sources or databases storing records about points of interests. These POI data records may be tagged with their geographical coordinates. The geographical coordinates may take the form of latitude and longitude coordinates of any form, i.e., they may be absolute, or relative coordinates and they may pinpoint a single point or an area. The geographical coordinates may also be simply an index which points to geographic data. By adding a field with at least one pair of coordinates to each record, a new destination /location database or data record is created where all of the data, regardless of type and origin, will have a common field of geographical coordinates.

In formulating a search of a collection of tagged data records, the user of the system may have the ability to set an anchor point, i.e., a center for the geographical area to be searched. The user may also be able to set a search radius, absent which the system may establish a default search radius. Once the system receives an expression defining the search it will filter the collection of data records by selecting only POI data records that have coordinates within the selected radius from the selected center. The result is a set of data records that are geographically relevant.

This filtration step will typically drastically reduce the number of records that have to be processed. Consequently, subsequent searches can include complicated search parameters and computationally intensive processing as this will be performed on a relatively small number of data records.

As will be appreciated by those skilled in the art, a numeric search, such as a search on numeric latitude and longitude data, is a simple search that can be completed very quickly. The much smaller number of data records resulting from the numeric search drastically reduces the scope of any subsequent more complicated searches. In other words, filtering data with a series of preferences is computationally very expensive. As it is much faster to sort a large database using numbers than it is to sort on other textual categories or with long lists of preferences, the most economical method is to first reduce the large list to a very small list of POIs in close proximity and only apply complicated filtering operations on the small list. This geographic filtering makes complicated searches feasible even in the face of the astronomical growth in the amount of POI data.

In a POI database tagged with geographic coordinates, each record includes one of following:

-   -   a) full data record ( data structure) describing other         attributes of POI     -   b) a pointer to a data record (data structure) describing other         attributes of POI     -   c) a link to a POI information page (web site URL)     -   d) a pointer to another pointer (this maybe recursive and have         multiple levels of indirection) the last pointer pointing at POI         data record (as described in “b”) or URL link (as described in         “c”).

Numerous methods can be used to obtain the geographical coordinates that will be used to tag a POI record. One possible automated method is as follows. The POI data record is parsed and the Street address is retrieved. This is entered into a geocoding engine (possibly provided by NAVTEQ or PROXIX or other such data providers) and a global position is obtained in the form of latitude and longitude coordinates.

Known systems fail to include this level of optimization therefore making search processing so computationally intensive that it would not be practical: either the search would take too long or the system could not support enough clients.

By being able to choose any point as an anchor point, such as a point of departure, a destination, or a center of a location for research, a user can obtain geographically relevant information for any location on a planet in which he might be interested.

The system can reliably provide POI data sorted by geographical relevance relative to a chosen anchor point A short list of POIs in proximity to the anchor point can then be sorted easily and quickly by a complicated filter based on user requests and/or a user's personal profile. The short list of geographically relevant data records facilitates answering the user's questions making this location based service (LBS) quick and efficient. Even as the amount of POI data grows in the future this system will provide an economical method of mass data processing to provide location based answers to a large number of users.

By providing search results that are focused in an area surrounding a specific location (anchor point) the system can provide advertising relevant to that area, which may drastically increase the effectiveness of the advertising. For example, advertisements may be stored in association with a coverage indicator specifying a geographic area in which the advertisement is considered by the advertiser to be relevant. Then, for any geographic search overlapping with this coverage area, the advertisement will be flagged as potentially relevant. Subsequent search parameters used to filter the geographically relevant set of records (e.g., a search for restaurants) are also applied to the advertisement. If the advertisement meets these search parameters, the advertisement may be served up to the user. This may be easily implemented by storing the advertisements as data records which are filtered in the same way as POI data records.

FIG. 1 depicts a method of tagging an existing data record with geographical coordinates. A POI data record 10 in a collection of POI records is parsed (S12) to find street address data. The street address data is entered into a geocoding engine (S14), as for instance, supplied by NAVTEQ or Proxix. The process outputs geographical coordinates. The geographical coordinates are then added to the original data record (S16) to create a data record 20 tagged with these geographic coordinates.

FIG. 2 depicts a method of searching a geographically tagged database of POI records. A geographic center (anchor point) for a search is entered (S30). This anchor point may be specified as latitude and longitude data or as a street address and city. In the latter instance, the street address is mapped to latitude and longitude data. Conveniently, this may be accomplished using the same tools as are used to convert address data in tagging the database. As a further option, the anchor point may be specified by inputting the name of a POI (for example, Times Square, NYC) and the full database of records may be searched for this name. Upon finding this name in a record, the geographic data with which the record is tagged may be substituted.

An area for the geographical search may then be entered (S32). This may be most easily done by specifying a radius from the anchor point (for example, 2 miles) in order to specify a circular search area having this search radius. Alternatively, a user may be prompted to specify the four comers of a box around the anchor point. Or the user could be prompted to draw (with a mouse pointer or otherwise) any shape around the anchor point. The system then searches the geographically tagged POI database 34 for records falling within the specified geographic area (e.g., the specified radius from the center of the search) (S36). The resulting set of records may be written to a geographically filtered database (S38). (For example, this may yield POIs within 2 miles from Time square.) A search request may then be entered (as, for example: “Find restaurants”) (S40). The geographically filtered database is then searched for records fitting search criteria (S42). The resulting sub-set of records are written into Database of Requested Records (S44). A user profile record may be opened (S46) (which may specify, for example, that the user does not like Sushi and Fast-food). The sub-set of Records database is then searched for records fitting personal profile criteria. The resulting sub-subset of records are written into final destination database (S50) that contains all individually relevant records of requested types of POI in a vicinity of the requested location. (As, for example: Restaurants in the area excluding Sushi and Fast Food.)

Where a POI (such as a public park) is specified by a geographical area (as, for example, by being specified with more than one pair of longitude and latitude coordinates) rather than a geographic point, the POI record for the park may be returned in any search with a search area which overlaps any part of the park.

FIG. 3 illustrates an example system suitable for use with this invention. Turning to FIG. 3, a client computer 60 communicates with a server 62 over a network 64, such as the public Internet or a local area network (LAN). Server 62 comprises a processor 66 and memory 68. A user may point the web browser of the client to the LBS application of this invention hosted on server 62 whereupon the server may serve up a user interface which allows the user to enter data in order to perform the described searches. The server 62 may be adapted to perform the method of FIGS. 1 and 2 with software from a software medium 70. Optionally, the client computer may be replaced with any suitable internet appliance. In one embodiment, the client computer may be replaced with any device (such as mobile phone) capable of communicating over a network and capable of running software which allows the user to enter data in order to perform the described searches and display responses provided by the server.

The geographically tagged database could be stored remotely and accessed by the server 62 over the Internet, or it could be stored locally on the server 62. Where the database is stored locally, the server may periodically update the locally stored database with a query to the remote source for the database. In one embodiment, a database could be geographically tagged at the server and the tagged database stored locally. In such case, when obtaining database updates, the server will also geographically tag the updated data.

Alternatively the server could be a standalone unit that also acts as a client computer. In this case the geographically tagged database could be stored locally on the server/client and the device can be entirely off network with database updates being accomplished by appropriate manual uploads.

Further modifications will be apparent to those skilled in the art and, therefore, the invention is defined in the claims. 

1. A method of searching data records comprising: receiving an indication of a geographic area; searching a collection of data records, each data record having an associated geographic location indicator, to obtain a set of records with geographic location indicators representing geographic locations within, or partly within, said geographic area; accessing a personal profile and searching said set of records, or a filtered set of said set of records, to obtain a subset of records which match criteria specified by said personal profile.
 2. The method of claim 1 wherein said receiving an indication of a geographic area comprises receiving an indication of a specific geographic location and receiving an indication of an area encompassing said specific geographic location.
 3. The method of claim 2 wherein said receiving an indication of an area encompassing said specific geographic location comprises receiving an indication of a radius from said specific geographic location.
 4. The method of claim 1 wherein each geographic indicator is a numeric indicator.
 5. The method of claim 4 wherein each said numeric indicator comprises a pair of numeric co-ordinates.
 6. The method of claim 1 further comprising, prior to said accessing a personal profile, receiving a set of search criteria and searching said set of records to obtain said filtered set of records, said filtered set of records meeting said set of search criteria.
 7. The method of claim 6 wherein said set of search criteria comprises a specification of a keyword which is to be found in each record in said filtered set of records.
 8. The method of claim 1 wherein said personal profile specifies a first a set of keywords which are to be present in data records.
 9. The method of claim 8 wherein said personal profile specifies a second set of keywords which are to be absent in data records.
 10. The method of claim 1 wherein each record of said collection of records has associated point of interest data.
 11. The method of claim 1 wherein some of said collection of data records is advertising records.
 12. The method of claim 6 wherein said set of search criteria comprise a specification of a parameter which is to be found in each record in said filtered set of records.
 13. The method of claim 1 wherein said personal profile specifies a first a set of parameters which are to be present in data records.
 14. The method of claim 13 wherein said personal profile specifies a second set of parameters which are to be absent in data records.
 15. A computer readable medium containing computer readable instructions which, when executed by a processor cause said processor to: prompt for an indication of a geographic area; on receiving an indication of a geographic area, search a collection of data records, each data record having an associated geographic location indicator, to obtain a set of records with geographic location indicators representing geographic locations within said geographic area, and access a personal profile and search said set of records, or a filtered set of said set of records, to obtain a subset of records which match criteria specified by said personal profile.
 16. The computer readable medium of claim 15 containing computer executable instructions which, when executed by a processor, further cause said processor to: prior to said accessing a personal profile, receive a set of search criteria and search said set of records to obtain said filtered set of records, said filtered set of records meeting said set of search criteria.
 17. The computer readable medium of claim 16 wherein said set of search criteria comprise a specification of a parameter which is to be found in each record in said filtered set of records.
 18. The computer readable medium of claim 15 wherein said search said set of records, or a filtered set of said set of records, to obtain a subset of records which match criteria specified by said personal profile is a search for records in which parameters of a first set of parameters in said personal profile are present.
 19. The computer readable medium of claim 18 wherein said search said set of records, or a filtered set of said set of records, to obtain a subset of records which match criteria specified by said personal profile is a search for records in which parameters of a second set of parameters in said personal profile are absent. 